## API Report File for "@backstage/plugin-periskop"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { ConfigApi } from '@backstage/core-plugin-api';
import { DiscoveryApi } from '@backstage/core-plugin-api';
import { Entity } from '@backstage/catalog-model';
import { JSX as JSX_2 } from 'react';

// @public (undocumented)
export interface AggregatedError {
  // (undocumented)
  aggregation_key: string;
  // (undocumented)
  latest_errors: ErrorInstance[];
  // (undocumented)
  severity: string;
  // (undocumented)
  total_count: number;
}

// @public (undocumented)
export const EntityPeriskopErrorsCard: () => JSX_2.Element;

// @public (undocumented)
interface Error_2 {
  // (undocumented)
  cause?: Error_2 | null;
  // (undocumented)
  class: string;
  // (undocumented)
  message: string;
  // (undocumented)
  stacktrace?: string[];
}
export { Error_2 as Error };

// @public (undocumented)
export interface ErrorInstance {
  // (undocumented)
  error: Error_2;
  // (undocumented)
  http_context: HttpContext;
  // (undocumented)
  severity: string;
  // (undocumented)
  timestamp: number;
  // (undocumented)
  uuid: string;
}

// @public (undocumented)
export interface HttpContext {
  // (undocumented)
  request_body: string;
  // (undocumented)
  request_headers: RequestHeaders;
  // (undocumented)
  request_method: string;
  // (undocumented)
  request_url: string;
}

// @public
export const isPeriskopAvailable: (entity: Entity) => boolean;

// @public (undocumented)
export interface NotFoundInInstance {
  // (undocumented)
  body: string;
}

// @public
export const PERISKOP_NAME_ANNOTATION = 'periskop.io/service-name';

// @public
export interface PeriskopApi {
  getErrorInstanceUrl(
    instanceName: string,
    serviceName: string,
    error: AggregatedError,
  ): string;
  getErrors(
    instanceName: string,
    serviceName: string,
  ): Promise<AggregatedError[] | NotFoundInInstance>;
  getInstanceNames(): string[];
}

// @public (undocumented)
export type PeriskopApiOptions = {
  discoveryApi: DiscoveryApi;
  configApi: ConfigApi;
};

// @public (undocumented)
export const periskopApiRef: ApiRef<PeriskopApi>;

// @public
export class PeriskopClient implements PeriskopApi {
  constructor(options: PeriskopApiOptions);
  // (undocumented)
  getErrorInstanceUrl(
    instanceName: string,
    serviceName: string,
    error: AggregatedError,
  ): string;
  // (undocumented)
  getErrors(
    instanceName: string,
    serviceName: string,
  ): Promise<AggregatedError[] | NotFoundInInstance>;
  // (undocumented)
  getInstanceNames(): string[];
}

// @public (undocumented)
export const periskopPlugin: BackstagePlugin<{}, {}>;

// @public (undocumented)
export interface RequestHeaders {
  // (undocumented)
  [k: string]: string;
}

// (No @packageDocumentation comment for this package)
```
